package com.ruoyi.file.config;

import com.obs.services.ObsClient;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.boot.web.servlet.MultipartConfigFactory;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.util.unit.DataSize;

import javax.servlet.MultipartConfigElement;

@Configuration
public class ObsConfig {
    @Value("${obs.ak}")
    private String ak;
    @Value("${obs.sk}")
    private String sk;
    @Value("${obs.endPoint}")
    private String endPoint;
    @Bean
    public ObsClient obsUtil() {
        return new ObsClient(ak, sk, endPoint);
    }

    /**
     * 2024 5月4号添加。
     * @return
     */
    @Bean
    MultipartConfigElement multipartConfigElement() {
//        DataSize.ofMegabytes(5)：将 5 MB 转换为 DataSize 对象，表示单个上传文件的最大大小。

        DataSize maxFileSize = DataSize.ofMegabytes(200);

        DataSize maxRequestSize = DataSize.ofMegabytes(200);

        MultipartConfigFactory factory = new MultipartConfigFactory();
        //文件最大
        factory.setMaxFileSize(maxFileSize);
        /// 设置总上传数据总大小
        factory.setMaxRequestSize(maxRequestSize);
        return factory.createMultipartConfig();
    }
}
